/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package com.mes.data;

import java.math.BigDecimal;
import java.util.Date;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.enterprise.Organization;
/**
 * Entity class for entity Emes_Attendance (stored in table Emes_Attendance).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class EmesAttendance extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "Emes_Attendance";
    public static final String ENTITY_NAME = "Emes_Attendance";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_EMESEMPLOYEE = "emesEmployee";
    public static final String PROPERTY_ATTENDANCEDATE = "attendancedate";
    public static final String PROPERTY_CLASSTYPE = "classType";
    public static final String PROPERTY_VACATIONTYPE = "vacationType";
    public static final String PROPERTY_PUNCHTIME = "punchtime";
    public static final String PROPERTY_OUTPUNCHTIME = "oUTPunchtime";
    public static final String PROPERTY_PUNCHCLOCK = "punchclock";
    public static final String PROPERTY_OUTPUNCHCLOCK = "oUTPunchclock";
    public static final String PROPERTY_VACATIONTIME = "vacationTime";
    public static final String PROPERTY_VACATIONUNIT = "vacationUnit";
    public static final String PROPERTY_LATETIME = "lateTime";
    public static final String PROPERTY_EARLYRETREATTIME = "earlyretreatTime";
    public static final String PROPERTY_REMARKS = "remarks";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";

    public EmesAttendance() {
        setDefaultValue(PROPERTY_PUNCHCLOCK, false);
        setDefaultValue(PROPERTY_OUTPUNCHCLOCK, false);
        setDefaultValue(PROPERTY_ACTIVE, true);
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public EmesEmployee getEmesEmployee() {
        return (EmesEmployee) get(PROPERTY_EMESEMPLOYEE);
    }

    public void setEmesEmployee(EmesEmployee emesEmployee) {
        set(PROPERTY_EMESEMPLOYEE, emesEmployee);
    }

    public Date getAttendancedate() {
        return (Date) get(PROPERTY_ATTENDANCEDATE);
    }

    public void setAttendancedate(Date attendancedate) {
        set(PROPERTY_ATTENDANCEDATE, attendancedate);
    }

    public String getClassType() {
        return (String) get(PROPERTY_CLASSTYPE);
    }

    public void setClassType(String classType) {
        set(PROPERTY_CLASSTYPE, classType);
    }

    public String getVacationType() {
        return (String) get(PROPERTY_VACATIONTYPE);
    }

    public void setVacationType(String vacationType) {
        set(PROPERTY_VACATIONTYPE, vacationType);
    }

    public Date getPunchtime() {
        return (Date) get(PROPERTY_PUNCHTIME);
    }

    public void setPunchtime(Date punchtime) {
        set(PROPERTY_PUNCHTIME, punchtime);
    }

    public Date getOUTPunchtime() {
        return (Date) get(PROPERTY_OUTPUNCHTIME);
    }

    public void setOUTPunchtime(Date oUTPunchtime) {
        set(PROPERTY_OUTPUNCHTIME, oUTPunchtime);
    }

    public Boolean isPunchclock() {
        return (Boolean) get(PROPERTY_PUNCHCLOCK);
    }

    public void setPunchclock(Boolean punchclock) {
        set(PROPERTY_PUNCHCLOCK, punchclock);
    }

    public Boolean isOUTPunchclock() {
        return (Boolean) get(PROPERTY_OUTPUNCHCLOCK);
    }

    public void setOUTPunchclock(Boolean oUTPunchclock) {
        set(PROPERTY_OUTPUNCHCLOCK, oUTPunchclock);
    }

    public BigDecimal getVacationTime() {
        return (BigDecimal) get(PROPERTY_VACATIONTIME);
    }

    public void setVacationTime(BigDecimal vacationTime) {
        set(PROPERTY_VACATIONTIME, vacationTime);
    }

    public String getVacationUnit() {
        return (String) get(PROPERTY_VACATIONUNIT);
    }

    public void setVacationUnit(String vacationUnit) {
        set(PROPERTY_VACATIONUNIT, vacationUnit);
    }

    public BigDecimal getLateTime() {
        return (BigDecimal) get(PROPERTY_LATETIME);
    }

    public void setLateTime(BigDecimal lateTime) {
        set(PROPERTY_LATETIME, lateTime);
    }

    public BigDecimal getEarlyretreatTime() {
        return (BigDecimal) get(PROPERTY_EARLYRETREATTIME);
    }

    public void setEarlyretreatTime(BigDecimal earlyretreatTime) {
        set(PROPERTY_EARLYRETREATTIME, earlyretreatTime);
    }

    public String getRemarks() {
        return (String) get(PROPERTY_REMARKS);
    }

    public void setRemarks(String remarks) {
        set(PROPERTY_REMARKS, remarks);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

}
